ef4d911412c63985be5e89e2629c3f3f131648ab,src/main/java/si/meansoft/traincraft/blocks/BlockTrack.java,BlockTrack,placeTrack,#World#BlockPos#EntityLivingBase#number#number#number#,97

Before Change



    public List<BlockPos> placeTrack(World world, BlockPos pos, EntityLivingBase placer, float hitX, float hitY, float hitZ){
        EnumFacing dir = placer.getHorizontalFacing();
        return trackType.grid.getPosesToAffect(pos, dir, faceLeft(dir, hitX, hitZ));
    }

    public void removeTrack(World world, BlockPos pos, boolean dropBlocks){

After Change



    public List<BlockPos> placeTrack(World world, BlockPos pos, EntityLivingBase placer, float hitX, float hitY, float hitZ) {
        EnumFacing dir = placer.getHorizontalFacing();
        List<BlockPos> poses = trackType.grid.getPosesToAffect(pos, dir, trackType.isCurve() && faceLeft(dir, hitX, hitZ));
        int index = 0;
        for (BlockPos pos1 : poses) {
            world.setBlockState(pos1, this.getDefaultState().withProperty(FACING, placer.getHorizontalFacing().getOpposite()));
            //TODO: blockIndex for curves is just wrong!
            TileEntityTrack tileEntityTrack = ((TileEntityTrack) world.getTileEntity(pos1));
            tileEntityTrack.blockIndex = index++;
            tileEntityTrack.facing = dir;
        }
        return poses;
    }

    @Override